import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  build: {
    target: "esnext",
    lib: {
      entry: path.resolve(__dirname, "src/components/barcode/index.ts"),
      name: "barcode",
      fileName: (format) => `barcode.${format}.js`,
    },
    minify: "esbuild",
    rollupOptions: {
      // 确保外部化处理那些你不想打包进库的依赖
      external: ["vue", "jsbarcode"],
      output: {
        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
        globals: {
          vue: "Vue",
          jsbarcode: "JsBarcode",
        },
        exports: "named",
      },
    },
  },
});
